package com.zbkj.service.service.user;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.model.user.UserToken;
import com.zbkj.service.thirdparty.login.enums.LoginTypeEnum;

/**
 * 用户token表-service接口
 * @author lijie
 */
public interface UserTokenService extends IService<UserToken> {

    /**
     * 获取UserToken
     * @param token 微信为openid
     * @param type 类型
     * @return UserToken
     */
    UserToken getByOpenidAndType(String token, int type);

    void bind(String openId, int type, Integer uid);

    UserToken getTokenByUserId(Integer userId, int type);

    /**
     * 得到token类型
     * @param typeStr 类型字符串
     * @return
     */
    int getTokenType(String typeStr);

    /**
     * 保存或更新token
     * @param uid               用户id
     * @param loginTypeEnum     登录类型枚举对象
     * @param token             token
     */
    void saveOrUpdate(int uid, LoginTypeEnum loginTypeEnum, String token);
}
